#include <iostream>
#include <unistd.h>
#include <signal.h>
#include <cstdlib>
using namespace std;

void handlerSig(int sig)
{
    cout << "获得了信号: " << sig << endl;
}

int main()
{
    for(int i = 1;i < 32;i++)
    {
        signal(i, handlerSig);
    }

    // for(int i = 1;i < 32;i++)
    // {
    //     sleep(1);
    //     if(i == 9 || i== 19)
    //     {
    //         continue;
    //     }
    //     raise(i);
    // }


    int cnt = 0;
    while(true)
    {
        cout << "hello mihayou, " << cnt++ << ", pid = " << getpid() << endl;
        sleep(1);

        int a = 100;
        //除0错误
        //a /= 0;

        int* p = nullptr;
        //野指针错误
        //*p = 100;

        //在信号6的时停止程序
        //abort();
    }
    return 0;
}